Bridge Zksync Protocol Architecture & Route Overview
The canonical bridge between Ethereum mainnet and ZKsync Era is not a liquidity pool and not a swap — it moves assets using ZKsync's native L1–L2 messaging, locking on one side and crediting on the other.
Read more
In practice you connect a self-custodial wallet, pick a direction and asset, sign, and then wait for either L2 processing (deposits) or batch finalization plus a proof (withdrawals). This page is an independent, non-custodial dashboard explaining that flow; the actual ZKsync Portal is where the canonical route lives, and the bridging documentation describes the message mechanics.

What is Bridge Zksync?
zkSync Bridge is the canonical route for moving ETH and standard ERC-20 tokens between Ethereum Layer 1 and ZKsync Era in both directions. It is a message-based bridge, not a liquidity bridge: there are no pools, relayers fronting you funds, or market makers in the route, and the protocol's own bridge contracts handle the asset. Third-party liquidity routes use automated market makers or other destination-side liquidity, so they have different pool, routing, and counterparty mechanics.
The canonical bridge does not swap tokens: deposit USDC and you receive USDC's Era representation. An asset's Era contract address differs from its Ethereum address, and rebasing tokens or tokens needing custom bridge logic are not supported by the default ERC-20 bridge. The Portal is the standard interface for the protocol's bridge contracts.
How bridging works
Bridging uses a lock-and-credit deposit and a burn-and-release withdrawal. A deposit locks the asset in the L1 bridge contract and emits an L1-to-L2 message; after ZKsync Era processes it, the corresponding asset is minted or credited to your recipient address on Era. A withdrawal burns the Era representation, sends an L2-to-L1 message into a rollup batch, and releases the funds on Ethereum only after batch execution, the withdrawal delay, and proof submission; that fast-in, slow-out asymmetry is part of the ZK-rollup model.
ERC-20 deposits usually require two signatures: an approval and then the deposit. The approval gives the bridge contract permission to move your token; the ERC-20 approval interface supports an allowance, so choose the amount you actually intend to bridge rather than an unlimited allowance when your wallet offers that choice.
Depositing to ZKsync Era
To deposit to ZKsync Era, connect your wallet on Ethereum mainnet (chain ID 1), choose the asset and amount, confirm the recipient, and sign. The recipient defaults to your own address but can be any Era address; the deposit completes once the L1 transaction is included and Era processes the inbound message, which commonly takes minutes rather than hours.
ERC-20 is the token standard behind the approval step. Keep ETH on Ethereum for the deposit transaction because the L1 gas and L2 execution funding both come out of it. ETH is Era's native gas token, so bridging ETH provides destination gas; bridging only an ERC-20 leaves it unable to move until ETH arrives, making a small ETH deposit alongside the first token deposit the practical setup.
Withdrawing back to Ethereum
To withdraw back to Ethereum, burn the asset on Era and wait for the L2-to-L1 message to travel with a rollup batch. Funds become claimable on Ethereum only after the batch is executed and the protocol's withdrawal delay — currently a three-hour minimum — has elapsed; a proof then finalizes release to your L1 recipient.
A pending withdrawal is normal, so track the batch status and act on L1 only when the withdrawal is claimable. Submitting it twice burns two lots of Era gas and creates two claims. A third-party liquidity bridge is the faster exit when waiting is unacceptable, but it uses a different mechanism with its own trust assumptions rather than accelerating this canonical withdrawal.
Time and fees
Deposits cost Ethereum gas for the L1 transaction, which also funds the L2 execution of the deposit message; withdrawals cost Era gas to initiate, and finalization on Ethereum may require L1 gas to submit the proof. Network conditions move every figure, so the Ethereum gas fees estimate shown by your wallet at signing time is the number to use.
The canonical route has no liquidity or relayer fee because there is no pool or relayer to pay. Third-party bridges price differently, usually with a provider or protocol fee on top of gas for immediate destination-side delivery. You do not need the ZK token for this flow; ETH pays gas on both networks.
Is zkSync Bridge safe?
The canonical route uses validity proofs, publishes rollup data to Ethereum, and has undergone audits, but audited code does not remove smart-contract risk. Upgrade and governance permissions can change behavior, operators are involved in batch submission, and the practical failure points are the site, network, and approval you authorize.
Before signing, open the portal from a source you trust, confirm the wallet network and recipient, and verify that the transaction targets the bridge contract rather than an unknown approval. If a bridge asks for your seed phrase, requests an unlimited approval to an unknown contract, or arrived via a DM or ad, close it; legitimate bridging never needs your recovery phrase. Phishing guidance describes impersonating a trusted service to request sensitive information as social engineering. This dashboard is informational and holds nothing; during bridging, the protocol contracts lock or represent your assets while your keys stay in your wallet throughout.
Problems and fixes
Most bridge problems map to the wrong network, missing destination gas, an unlisted token contract, or a withdrawal that is still in the protocol queue. Wrong network: use Ethereum mainnet for deposits and Era (chain ID 324) for withdrawals. No destination gas: if you bridged only a token to a fresh Era address, send a small ETH deposit to that same address before trying to move it. Token not visible: the Era contract address differs from the L1 address, so add the correct Era token contract to your wallet.
Withdrawal pending for hours: check batch status and wait for the delay and proof; a slow canonical withdrawal is not a second withdrawal to submit.
Verified Contract Gateway: 0x8453000000000000000000000000000000000000 (Chain verification active)
zkSync FAQ
Is this the official zkSync Bridge site?
No. This is an independent, non-custodial informational dashboard that explains the route and holds nothing; the canonical bridging interface is the ZKsync Portal.
How long does bridging to ZKsync Era take?
Deposits commonly complete within minutes once the Ethereum transaction is included and Era processes the message. Withdrawals take longer by design: the rollup batch must execute, a protocol delay of at least three hours passes, and then a proof finalizes the release on L1.
How do I bridge ETH or tokens to ZKsync Era?
Connect a self-custodial wallet on Ethereum mainnet, choose the asset, amount, and recipient, then review and sign; ERC-20s usually need an approval transaction first, then the deposit. The asset is locked on L1 and credited on Era after the L1-to-L2 message is processed.
Do I need ZK tokens or special gas on ZKsync Era?
No. ETH is Era's native gas token, and ZK is not required for ordinary gas payments. If you bridge only an ERC-20 to a fresh address, bridge a little ETH as well so you can move the token when it arrives.
Is the canonical bridge safe to use?
The canonical route publishes data to Ethereum, uses validity proofs, and has undergone audits; its smart-contract, upgrade, governance, and phishing considerations are covered in the safety section.
Canonical bridge or a third-party bridge — which should I use?
Use the canonical route when you want the protocol's own messaging with no pool or relayer in the middle and can accept the withdrawal delay. Use a third-party liquidity bridge when destination-side speed matters more; it delivers funds faster in exchange for provider fees and different trust assumptions.
Notes before you use zkSync Bridge
The key timing rule is that deposits usually reach Era in minutes after L1 inclusion and message processing, while withdrawals wait for batch execution, the protocol's three-hour minimum, and a proof before release on Ethereum.
For the first token deposit, use chain ID 1 on Ethereum, keep ETH for the L1 transaction and L2 execution funding, and include ETH if the fresh Era address will need gas; chain ID 324 is used when initiating a withdrawal from Era.
Before you sign, verify the route, network, recipient, and approval amount in your wallet.
Contract behavior, supported assets, and delays can change with protocol upgrades, so verify against the current documentation before large transfers — last reviewed 21 July 2026.